package academic.ui.client;

import java.util.ArrayList;

import academic.ui.client.util.KKGWTException;
import academic.ui.client.util.KKGWTInvalidSessionException;
import ecommerce.soco.shared.*;

import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;

@RemoteServiceRelativePath("academic.ui.server.CustomerServiceImpl.gwt")
public interface CustomerService extends RemoteService {


	public GWT_Customer getCurrentCustomer();
	
	public ArrayList<GWT_Purchase> getDealsPurchasedByCustomer();
	
	public ArrayList<GWT_Purchase> getGiftsPurchasedByCustomer();

	public Integer registerCustomer(GWT_Customer customer, Boolean loginIfUserExists);
	
	public Boolean login(String username,String passwd);
	
	public Boolean updateLocation(GWT_Customer customerUpdateAddress);
	
	public Boolean updatePersonalInfo(GWT_Customer customerUpdatePersonal );
	
	public Boolean updateName(String name);
	
	public Boolean updateEmail(String email);
	
	public Boolean updatePasswd(String oldPass,String newPass);
	
	public Boolean emailPasswordIfValid(String email);
	
	public ArrayList<GWT_Group> getGroupsByCustomer();

}
